package IDE;

import controlador.Controlador;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JTextArea;

public class Vista extends javax.swing.JFrame {

    private Controlador control;
    private JDialog dialog;

    public Vista() {
        initComponents();
        control = new Controlador(this);
        this.setLocationRelativeTo(null);
        mnuAbrir.addActionListener(control);
        mnuAbrir1.addActionListener(control);
        mnuGuardar.addActionListener(control);
        mnuGuardar1.addActionListener(control);
        mnuCompilar.addActionListener(control);
        mnuSalir.addActionListener(control);
         dialog = new JDialog(this, "Compilado...", true);
         dialog =new  JDialog();
         dialog.setBounds(400, 200, 300, 150);
         dialog.validate();
         dialog.setVisible(false);

        new ZTexArea(txtCodigo, this);


    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        scrTextoCodigo = new javax.swing.JScrollPane();
        txtCodigo = new javax.swing.JTextArea();
        jLabel1 = new javax.swing.JLabel();
        mnuBar = new javax.swing.JMenuBar();
        mnuArchivo = new javax.swing.JMenu();
        mnuAbrir1 = new javax.swing.JMenuItem();
        mnuAbrir = new javax.swing.JMenuItem();
        mnuGuardar = new javax.swing.JMenuItem();
        mnuGuardar1 = new javax.swing.JMenuItem();
        mnuCompilar = new javax.swing.JMenuItem();
        mnuSeparador = new javax.swing.JSeparator();
        mnuSalir = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Analizador Léxico de Pseudocódigo");

        txtCodigo.setColumns(200);
        txtCodigo.setRows(200);
        scrTextoCodigo.setViewportView(txtCodigo);

        jLabel1.setFont(new java.awt.Font("Tahoma", 1, 11)); // NOI18N
        jLabel1.setText("Archivo : Sin nombre");

        mnuArchivo.setText("Archivo");

        mnuAbrir1.setText("Nuevo");
        mnuArchivo.add(mnuAbrir1);

        mnuAbrir.setText("Abrir");
        mnuArchivo.add(mnuAbrir);

        mnuGuardar.setText("Guardar");
        mnuArchivo.add(mnuGuardar);

        mnuGuardar1.setText("Guardar como");
        mnuArchivo.add(mnuGuardar1);

        mnuCompilar.setText("Compilar");
        mnuArchivo.add(mnuCompilar);
        mnuArchivo.add(mnuSeparador);

        mnuSalir.setText("Salir");
        mnuArchivo.add(mnuSalir);

        mnuBar.add(mnuArchivo);

        setJMenuBar(mnuBar);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(142, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel1)
                    .addComponent(scrTextoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 287, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(19, 19, 19))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(8, 8, 8)
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(scrTextoCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 295, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(19, Short.MAX_VALUE))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new Vista().setVisible(true);
            }
        });
    }

    public JTextArea getTxtCodigo() {
        return txtCodigo;
    }

    public void setTxtCodigo(JTextArea txtCodigo) {
        this.txtCodigo = txtCodigo;
    }

    public JLabel getjLabel1() {
        return jLabel1;
    }

    public void getDialog(int err) {
      JLabel eti= new JLabel ();
      eti.setText("      Se encontraron  "+Integer.valueOf(err)+"  errores");
      dialog.getContentPane().add(eti);
      dialog.setTitle("Compilado...");
      dialog.setVisible(true);
    }

    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JLabel jLabel1;
    private javax.swing.JMenuItem mnuAbrir;
    private javax.swing.JMenuItem mnuAbrir1;
    private javax.swing.JMenu mnuArchivo;
    private javax.swing.JMenuBar mnuBar;
    private javax.swing.JMenuItem mnuCompilar;
    private javax.swing.JMenuItem mnuGuardar;
    private javax.swing.JMenuItem mnuGuardar1;
    private javax.swing.JMenuItem mnuSalir;
    private javax.swing.JSeparator mnuSeparador;
    private javax.swing.JScrollPane scrTextoCodigo;
    private javax.swing.JTextArea txtCodigo;
    // End of variables declaration//GEN-END:variables
}
